﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DotNet.Random
{
    /// <summary>
    /// 常用集合
    /// </summary>
    public class ConstUtility
    {
        /// <summary>
        /// Gets the email suffix.
        /// email后缀
        /// </summary>
        /// <value>
        /// The email suffix.
        /// </value>
        public static IList<string> EmailSuffix
        {
            get
            {
                var list = new List<string>();

                #region 网易

                list.Add("@163.com");
                list.Add("@126.com");
                list.Add("@yeah.net");

                #endregion

                #region sina

                list.Add("@sina.com");
                list.Add("@sina.cn");
                list.Add("@vip.sina.com");
                list.Add("@2008.sina.com");
                list.Add("@263.sina.com");

                #endregion

                #region yahoo

                list.Add("@yahoo.com.cn");
                list.Add("@yahoo.cn");

                #endregion

                list.Add("@sohu.com");
                list.Add("@139.com");
                list.Add("@tom.com");
                list.Add("@21cn.com");
                list.Add("51.com");
                list.Add("@qq.com");
                list.Add("@gmail.com");

                #region microsoft

                list.Add("@live.com");
                list.Add("@live.cn");
                list.Add("@hotmail.com");
                list.Add("@msn.cn");

                #endregion

                return list;
            }
        }

        /// <summary>
        /// Gets the english lower char.
        /// 小写英文字母
        /// </summary>
        /// <value>
        /// The english lower char.
        /// </value>
        public static IList<string> EnglishLowerLetter
        {
            get
            {
                var list = new List<string>() { 
                "a","b","c","d","e","f","g","h","i","j","k","l","m",
                "n","o","p","q","r","s","t","u","v","w","x","y","z"
                };
                return list;
            }
        }

        /// <summary>
        /// Gets the english upper char.
        /// 大写英文字母
        /// </summary>
        /// <value>
        /// The english upper char.
        /// </value>
        public static IList<string> EnglishUpperLetter
        {
            get
            {
                var list = new List<string>() { 
                "A","B","C","D","E","F","G","H","I","J","K","L","M",
                "N","O","P","Q","R","S","T","U","V","W","X","Y","Z"
                };
                return list;
            }
        }

        /// <summary>
        /// Gets the special char.
        /// 特殊字符
        /// </summary>
        /// <value>
        /// The special char.
        /// </value>
        public static IList<string> SpecialChar
        {
            get
            {
                var list = new List<string>() { 
                "~","!","@","#","$","%","^","&","*","(",")","-","_","=","+",
                "\\","|","]","}","[","{",
                "'","\"",";",":",
                "/","?",".",">",",","<"
                };
                return list;
            }
        }

        /// <summary>
        /// Gets the china mobile preffix.
        /// 中国移动手机号前缀
        /// </summary>
        /// <value>
        /// The china mobile preffix.
        /// </value>
        public static IList<int> ChinaMobilePreffix
        {
            get
            {
                var list = new List<int>() { 139, 138, 137, 136, 135, 134, 147, 150, 151, 152, 157, 158, 159, 182, 183, 187, 188 };
                return list;
            }
        }

        /// <summary>
        /// Gets the china telecom preffix.
        /// 中国电信手机号前缀
        /// </summary>
        /// <value>
        /// The china telecom preffix.
        /// </value>
        public static IList<int> ChinaTelecomPreffix
        {
            get
            {
                var list = new List<int>() { 130, 131, 132, 155, 156, 185, 186, 145 };
                return list;
            }
        }

        /// <summary>
        /// Gets the china unicom preffix.
        /// 中国联通手机号前缀
        /// </summary>
        /// <value>
        /// The china unicom preffix.
        /// </value>
        public static IList<int> ChinaUnicomPreffix
        {
            get
            {
                var list = new List<int>() { 133, 153, 180, 181, 189 };
                return list;
            }
        }
    }
}
